//
//  NSString+PLValidate.h
//
//  Created by KimmanYip on 2017/9/17.
//
//

/*
 * 字符串的校验相关
 */

#import <Foundation/Foundation.h>

@interface NSString(PLValidate)

/*
 *  是否符合给定的正则表达式
 *  @param expression 正则表达式
 *  @return 是否符合
 */
- (BOOL)pl_isMatchToRegular:(NSString *)expression;

/*
 *  是否符合所有给定的正则表达式
 *  @param expressions 所有给定的表达式数组
 *  @return 是否都符合
 */
- (BOOL)pl_isMatchToRegulars:(NSArray *)expressions;

/*
 *  检验邮箱格式
 *  @return 是否为邮箱格式
 */
- (BOOL)pl_isEmail;

/*
 *  非严格校验手机号码格式, 1-11位纯数字, 以1开头
 *  @return 是否为纯数字手机号码格式
 */
- (BOOL)pl_isMobileNumber;

/*
 *  校验座机号，7-12位纯数字
 *  @return 是否为座机格式
 */
- (BOOL)pl_isLandLineNumber;

/*
 *  判断字符串是否只包含空格或换行符
 *  @return 是否只包含空格或换行符
 */
- (BOOL)pl_isWhitespaceAndNewlines;

/*
 *  判断字符串是否只包含不可见字符(空字符、空格、换行符)
 *  @return 字符串是否为不可见
 */
- (BOOL)pl_isInvisibleCharacter;

/*
 *  判断字符串是否只包含字母
 *  @return 是否只包含字母
 */
- (BOOL)pl_isLetter;

/*
 *  判断字符串里的字符是否全是大写字母
 *  @return 是否全是大写字母
 */
- (BOOL)pl_isUppercaseLetter;

/*
 *  判断字符串里的字符是否全是小写字母
 *  @return 是否全是小写字母
 */
- (BOOL)pl_isLowercaseLetter;

/*
 判断字符串是不是中文
 @return 是否为中文
 */
- (BOOL)pl_isChineseText;

/*
 * 判断字符串中是否存在emoji,和下面的类方法是不同实现,暂未测试
 * @return YES(含有表情)
 */
- (BOOL)pl_containEmoji;

/*
 * 判断字符串中是否存在emoji
 * @param string 字符串
 * @return YES(含有表情)
 */
+ (BOOL)pl_containEmoji:(NSString *)string;


@end
